Створення програмної моделі контролера зовнішніх переривань.

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Електронні обчислювальні машини

Інформація про роботу

Рік:
2005
Тип роботи:
Лабораторна робота
Предмет:
Комп’ютерні системи
Група:
КІ-З

Частина тексту файла

Міністерство освіти і науки України Національний університет „Львівська політехніка” Кафедра електронних обчислювальних машин Звіт про виконання лабораторної роботи № 5 з курсу „ Комп’ютерні системи ” Тема: Створення програмної моделі контролера зовнішніх переривань. Виконав: студент групи КІ-3 Львів – 2005 Мета роботи: створити програмну модель контролера зовнішніх переривань RISC-процесора. Завдання: проаналізувати схему контролера переривань моделі RISC-процесора та розробити програмну модель її роботи. Виконання роботи: /* file pic.h -- Programmable Interrupt Unit */ struct pic : sc_module { sc_in<bool> ireq0; // interrupt request 0 sc_in<bool> ireq1; // interrupt request 1 sc_in<bool> ireq2; // interrupt request 2 sc_in<bool> ireq3; // interrupt request 3 sc_in<bool> ireq4; // interrupt request 4 sc_in<bool> ireq5; // interrupt request 5 sc_in<bool> ireq6; // interrupt request 6 sc_in<bool> ireq7; // interrupt request 7 sc_in<bool> cs; // вибір кристалу sc_in<bool> rd_wr; // читання чи запис sc_in<bool> intack_cpu; // підтвердження ЦП sc_out<bool> intreq; // запит переривання до ЦП sc_out<bool> intack; // підтвердження пристрою sc_out<unsigned> vectno; // номер вектора переривань SC_CTOR(pic) { SC_METHOD(entry); sensitive << ireq0 << ireq1 << ireq2 << ireq3 << ireq4 << ireq5 << ireq6 << ireq7 << ireq8; } void entry(); } /* file pic.cpp -- Programmable Interrupt Unit */ #include "systemc.h" #include "pic.h" void pic::entry(){ if (ireq0.read() == true) { intreq.write(true); vectno.write(0); } else if (ireq1.read() == true) { intreq.write(true); vectno.write(1); } else if (ireq2.read() == true) { intreq.write(true); vectno.write(2); } else if (ireq3.read() == true) { intreq.write(true); vectno.write(3); } else if (ireq4.read() == true) { intreq.write(true); vectno.write(4); } else if (ireq5.read() == true) { intreq.write(true); vectno.write(5); } else if (ireq6.read() == true) { intreq.write(true); vectno.write(6); } else if (ireq7.read() == true) { intreq.write(true); vectno.write(7); } else if ((intack_cpu.read() == true) && (cs.read() == true)) { intreq.write(false); } }  EMBED Visio.Drawing.6  Рис.1. Структурна схема контролера переривань. Висновок: : при виконанні даної лабораторної роботи було реалізовано програмну модель роботи контролера переривань.
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини